bpo-40025: Require _generate_next_value_ to be defined before members (GH-19098)

require `_generate_next_value_` to be defined before members
diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py
index ec1cfea..1df0313 100644
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -1751,6 +1751,16 @@
         self.assertEqual(Color.blue.value, 2)
         self.assertEqual(Color.green.value, 3)
 
+    def test_auto_order(self):
+        with self.assertRaises(TypeError):
+            class Color(Enum):
+                red = auto()
+                green = auto()
+                blue = auto()
+                def _generate_next_value_(name, start, count, last):
+                    return name
+
+
     def test_duplicate_auto(self):
         class Dupes(Enum):
             first = primero = auto()