Enumerations
************

Basic enumeration, providing ordered types for collections. These can
be constructed as simple type listings…

   >>> from stem.util import enum
   >>> insects = enum.Enum('ANT', 'WASP', 'LADYBUG', 'FIREFLY')
   >>> insects.ANT
   'Ant'
   >>> tuple(insects)
   ('Ant', 'Wasp', 'Ladybug', 'Firefly')

… or with overwritten string counterparts…

   >>> from stem.util import enum
   >>> pets = enum.Enum(('DOG', 'Skippy'), 'CAT', ('FISH', 'Nemo'))
   >>> pets.DOG
   'Skippy'
   >>> pets.CAT
   'Cat'

**Module Overview:**

   UppercaseEnum - Provides an enum instance with capitalized values

   Enum - Provides a basic, ordered  enumeration
     |- keys - string representation of our enum keys
     |- index_of - index of an enum value
     |- next - provides the enum after a given enum value
     |- previous - provides the enum before a given value
     |- __getitem__ - provides the value for an enum key
     +- __iter__ - iterator over our enum keys
