def sequential_enum(*sequential, **named):
    """Returns a new enum with all given named and sequential nodes.

    sequential -- [str, str, ...]
    named -- str:int
    """
    enums = dict(zip(sequential, range(len(sequential))), **named)
    return type('Enum', (), enums)
