removed Enum.__eq__ as it added nothing
diff --git a/Lib/enum.py b/Lib/enum.py
index 7ca8503..7d58f8d 100644
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -447,11 +447,6 @@
         return (['__class__', '__doc__', '__module__', 'name', 'value'] +
                 added_behavior)
 
-    def __eq__(self, other):
-        if type(other) is self.__class__:
-            return self is other
-        return NotImplemented
-
     def __format__(self, format_spec):
         # mixed-in Enums should use the mixed-in type's __format__, otherwise
         # we can get strange results with the Enum name showing up instead of
diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py
index d5a31b8..03f0e5d 100644
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -1030,6 +1030,15 @@
         self.assertEqual(list(Color), [Color.red, Color.green, Color.blue])
         self.assertEqual(list(map(int, Color)), [1, 2, 3])
 
+    def test_equality(self):
+        class AlwaysEqual:
+            def __eq__(self, other):
+                return True
+        class OrdinaryEnum(Enum):
+            a = 1
+        self.assertEqual(AlwaysEqual(), OrdinaryEnum.a)
+        self.assertEqual(OrdinaryEnum.a, AlwaysEqual())
+
     def test_ordered_mixin(self):
         class OrderedEnum(Enum):
             def __ge__(self, other):
@@ -1058,6 +1067,8 @@
         self.assertLessEqual(Grade.F, Grade.C)
         self.assertLess(Grade.D, Grade.A)
         self.assertGreaterEqual(Grade.B, Grade.B)
+        self.assertEqual(Grade.B, Grade.B)
+        self.assertNotEqual(Grade.C, Grade.D)
 
     def test_extending2(self):
         class Shade(Enum):