def __new__(cls, data=None, gap=None, moltype=None):
    """Returns a new Enumeration object.

        data can be any sequence that can be passed to the tuple() constructor.

        Takes gap as an argument but ignores it (handled in __init__).
        """
    data = data or []
    return tuple.__new__(cls, data)
