# Stem Docs

## 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