title: Should enum instances be compared by identity or equality?
body: <p>According to the docs, <a href="https://docs.python.org/3/library/enum.html?highlight=enum#enum-members-aka-instances" rel="noreferrer">enum members are singletons</a>.</p>
  
  <pre><code>&gt;&gt;&gt; from enum import Enum
  &gt;&gt;&gt; class Potato(Enum):
  ...     spud = 1234
  ...     chat = 1234
  ...     
  &gt;&gt;&gt; x = 1234
  &gt;&gt;&gt; y = 1234
  &gt;&gt;&gt; x is y
  False
  &gt;&gt;&gt; x = Potato.spud
  &gt;&gt;&gt; y = Potato.chat
  &gt;&gt;&gt; x is y
  True
  &gt;&gt;&gt; x.value is y.value
  True
  </code></pre>
  
  <p>Does that mean we should also compare them by identity, as how PEP8 suggests we should always use is/is not and never the equality operators for "singletons like None"?</p>
  
  <p>I have up until now been using equality operators, and haven't noticed any issue with this to warrant such strong wording as PEP8 warns.  What exactly is the drawback of using equality for enum instances, if any?  Or is it just a micro-optimisation?</p>