diff --git a/pkg/analysis_server/lib/src/services/correction/dart/change_to.dart b/pkg/analysis_server/lib/src/services/correction/dart/change_to.dart
index e9659b6..8acb906 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/change_to.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/change_to.dart
@@ -219,9 +219,9 @@
   }
 
   Future<void> _proposeMethod(ChangeBuilder builder) async {
-    if (node.parent is MethodInvocation) {
-      var invocation = node.parent as MethodInvocation;
-      await _proposeClassOrMixinMember(builder, invocation.realTarget,
+    var parent = node.parent;
+    if (parent is MethodInvocation) {
+      await _proposeClassOrMixinMember(builder, parent.realTarget,
           (Element element) => element is MethodElement && !element.isOperator);
     }
   }
diff --git a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
index 494f1ae..ed60cb1 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
@@ -1087,6 +1087,7 @@
     ],
     CompileTimeErrorCode.UNDEFINED_ENUM_CONSTANT: [
       AddEnumConstant.new,
+      ChangeTo.getterOrSetter,
     ],
     CompileTimeErrorCode.UNDEFINED_EXTENSION_GETTER: [
       ChangeTo.getterOrSetter,
diff --git a/pkg/analysis_server/test/src/services/correction/fix/change_to_test.dart b/pkg/analysis_server/test/src/services/correction/fix/change_to_test.dart
index 7a14be2..d71de37 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/change_to_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/change_to_test.dart
@@ -143,6 +143,57 @@
 ''');
   }
 
+  Future<void> test_enum_constant() async {
+    await resolveTestCode('''
+enum E { ONE }
+
+E e() {
+  return E.OEN;
+}
+''');
+    await assertHasFix('''
+enum E { ONE }
+
+E e() {
+  return E.ONE;
+}
+''');
+  }
+
+  Future<void> test_enum_getter() async {
+    await resolveTestCode('''
+enum E { ONE }
+
+void f() {
+  E.ONE.indxe;
+}
+''');
+    await assertHasFix('''
+enum E { ONE }
+
+void f() {
+  E.ONE.index;
+}
+''');
+  }
+
+  Future<void> test_enum_method() async {
+    await resolveTestCode('''
+enum E { ONE }
+
+void f() {
+  E.ONE.toStrong();
+}
+''');
+    await assertHasFix('''
+enum E { ONE }
+
+void f() {
+  E.ONE.toString();
+}
+''');
+  }
+
   Future<void> test_function_fromImport() async {
     await resolveTestCode('''
 void f() {
diff --git a/tools/VERSION b/tools/VERSION
index 6603a76..0459c27 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 18
 PATCH 0
-PRERELEASE 30
+PRERELEASE 31
 PRERELEASE_PATCH 0
\ No newline at end of file
