def METHOD_NAME(cls, string_as_value=False, separate_class_name=False):
    if string_as_value:
        choices = [
            (name.lower().replace("_", "."), name)
            for name, member in cls.__members__.items()
        ]
    elif separate_class_name:
        choices = [
            (separate_upper_class(name), name)
            for name, member in cls.__members__.items()
        ]
    else:
        choices = [
            (member.value, name)
            for name, member in cls.__members__.items()
        ]
    return choices