def _build_enum_type(var, property_path=None):
if not property_path:<EOL><INDENT>property_path = []<EOL><DEDENT>entry = var.metadata[CONFIG_KEY]<EOL>enum_values = [member.value for member in entry.type.__members__.values()]<EOL>schema = {"<STR_LIT>": enum_values}<EOL>for (type_name, check) in dict(<EOL>bool=is_bool_type,<EOL>string=is_string_type,<EOL>number=is_number_type,<EOL>integer=is_integer_type,<EOL>).items():<EOL><INDENT>if all(check(type(_)) for _ in enum_values):<EOL><INDENT>schema["<STR_LIT:type>"] = type_name<EOL>break<EOL><DEDENT><DEDENT>return schema<EOL>
Builds schema definitions for enum type values.

    :param var: The enum type value
    :param List[str] property_path: The property path of the current type,
        defaults to None, optional
    :return: The built schema definition
    :rtype: Dict[str, Any]