'Block attempts to reassign Enum members.
A simple assignment to the class namespace only changes one of the
several possible ways to get an Enum member from the Enum class,
resulting in an inconsistent Enumeration.'

def __setattr__(cls, name, value):

    member_map = cls.__dict__.get('_member_map_', {})
    if (name in member_map):
        raise AttributeError('Cannot    reassign    members.')
    super(EnumMeta, cls).__setattr__(name, value)
