diff --git a/tests/language/enum/enhanced_enums_basic_test.dart b/tests/language/enum/enhanced_enums_basic_test.dart
index 07f65d0..fee42e2 100644
--- a/tests/language/enum/enhanced_enums_basic_test.dart
+++ b/tests/language/enum/enhanced_enums_basic_test.dart
@@ -84,8 +84,8 @@
   EnumAll.staticGetSet = EnumAll.v5;
   Expect.equals(42, EnumAll.staticMethod());
 
-  Expect.identical(EnumAll.v2, EnumAll<num, num>.factory(2));
-  Expect.identical(EnumAll.v2, EnumAll<num, num>.refactory(2));
+  Expect.identical(EnumAll.v3, EnumAll<num, num>.factory(2));
+  Expect.identical(EnumAll.v3, EnumAll<num, num>.refactory(2));
 
   // Access static members through typedef.
   Expect.identical(EnumAll.v3, TypeDefAll.sConst);
@@ -97,14 +97,14 @@
   TypeDefAll.staticGetSet = EnumAll.v5;
   Expect.equals(42, TypeDefAll.staticMethod());
 
-  Expect.identical(EnumAll.v2, TypeDefAll.factory(2));
-  Expect.identical(EnumAll.v2, TypeDefAll.refactory(2));
+  Expect.identical(EnumAll.v3, TypeDefAll.factory(2));
+  Expect.identical(EnumAll.v3, TypeDefAll.refactory(2));
 
   // Access instance members.
   Expect.equals(0, EnumAll.v1.instanceGetSet);
   EnumAll.v1.instanceGetSet = 0.5;
   Expect.equals(0, EnumAll.v1.instanceMethod());
-  Expect.identical(EnumAll.v1, EnumAll.v3 ^ EnumAll.v2);
+  Expect.identical(EnumAll.v4, EnumAll.v3 ^ EnumAll.v2);
 
   Expect.equals("EnumAll.v1:EnumMixin<num>:ObjectMixin:this",
       EnumAll.v1.thisAndSuper());
@@ -127,16 +127,17 @@
   // But you can call extension members if there is no conflict.
   Expect.equals("extension", EnumAll.v1.extension);
 
-  // The `index` and `toString` implementations are inherited from
-  // the `Enum` implementing superclass.
-  Expect.equals(0, StringIndexEnum.v1.index);
-  Expect.equals(1, StringIndexEnum.v2.index);
-  Expect.equals(0, StringIndexEnum.v1.superIndex);
-  Expect.equals(1, StringIndexEnum.v2.superIndex);
-  Expect.equals("FakeString", StringIndexEnum.v1.toString());
-  Expect.equals("FakeString", StringIndexEnum.v2.toString());
-  Expect.equals("StringIndexEnum.v1", StringIndexEnum.v1.realToString());
-  Expect.equals("StringIndexEnum.v2", StringIndexEnum.v2.realToString());
+  // The `index` implementation is inherited from the `Enum` implementing
+  // superclass, and the `toString` implementation is overridden, but
+  // available via `realToString`.
+  Expect.equals(0, OverrideEnum.v1.index);
+  Expect.equals(1, OverrideEnum.v2.index);
+  Expect.equals(0, OverrideEnum.v1.superIndex);
+  Expect.equals(1, OverrideEnum.v2.superIndex);
+  Expect.equals("FakeString", OverrideEnum.v1.toString());
+  Expect.equals("FakeString", OverrideEnum.v2.toString());
+  Expect.equals("OverrideEnum.v1", OverrideEnum.v1.realToString());
+  Expect.equals("OverrideEnum.v2", OverrideEnum.v2.realToString());
 
   // Enum elements are always distinct, even if their state doesn't differ.
   Expect.notIdentical(Canonical.v1, Canonical.v2, "Canonical - type only");
@@ -307,7 +308,7 @@
 }
 
 // Both `toString` and `index` are inherited from superclass.
-enum StringIndexEnum {
+enum OverrideEnum {
   v1, v2;
   // Cannot override index
   int get superIndex => super.index;
diff --git a/tools/VERSION b/tools/VERSION
index 5e3c2a5..2889eb3 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 17
 PATCH 0
-PRERELEASE 136
+PRERELEASE 137
 PRERELEASE_PATCH 0
\ No newline at end of file
