def construct_set_and_card_enums(self, all_printing_content: Dict[(str, Any)]) -> Dict[(str, Any)]:
    '\n        Given AllPrintings, compile enums based on the types found in the file\n        :param all_printing_content: AllPrintings internally\n        :return Sorted list of enum options for each key\n        '
    type_map: Dict[(str, Any)] = {}
    for (object_name, object_values) in self.set_key_struct.items():
        type_map[object_name] = dict()
        for object_field_name in object_values:
            type_map[object_name][object_field_name] = set()
    for set_contents in all_printing_content.values():
        for set_contents_key in set_contents.keys():
            if (set_contents_key in self.set_key_struct['set']):
                type_map['set'][set_contents_key].add(set_contents.get(set_contents_key))
        match_keys = set(self.set_key_struct['card']).union(set(self.set_key_struct.keys()))
        for card in (set_contents.get('cards', []) + set_contents.get('tokens', [])):
            for card_key in card.keys():
                if (card_key not in match_keys):
                    continue
                card_value = card[card_key]
                if isinstance(card_value, dict):
                    for value in card_value.keys():
                        type_map['card'][card_key].add(value)
                    continue
                if (not isinstance(card_value, list)):
                    type_map['card'][card_key].add(card_value)
                    continue
                for single_value in card_value:
                    if (not isinstance(single_value, dict)):
                        type_map['card'][card_key].add(single_value)
                        continue
                    for attribute in self.set_key_struct.get(card_key, []):
                        type_map[card_key][attribute].add(single_value[attribute])
    return dict(sort_internal_lists(type_map))
Given AllPrintings, compile enums based on the types found in the file
:param all_printing_content: AllPrintings internally
:return Sorted list of enum options for each key
def construct_set_and_card_enums(self, all_printing_content: Dict[(str, Any)]) -> Dict[(str, Any)]:
    '\n        Given AllPrintings, compile enums based on the types found in the file\n        :param all_printing_content: AllPrintings internally\n        :return Sorted list of enum options for each key\n        '
    type_map: Dict[(str, Any)] = {}
    for (object_name, object_values) in self.set_key_struct.items():
        type_map[object_name] = dict()
        for object_field_name in object_values:
            type_map[object_name][object_field_name] = set()
    for set_contents in all_printing_content.values():
        for set_contents_key in set_contents.keys():
            if (set_contents_key in self.set_key_struct['set']):
                type_map['set'][set_contents_key].add(set_contents.get(set_contents_key))
        match_keys = set(self.set_key_struct['card']).union(set(self.set_key_struct.keys()))
        for card in (set_contents.get('cards', []) + set_contents.get('tokens', [])):
            for card_key in card.keys():
                if (card_key not in match_keys):
                    continue
                card_value = card[card_key]
                if isinstance(card_value, dict):
                    for value in card_value.keys():
                        type_map['card'][card_key].add(value)
                    continue
                if (not isinstance(card_value, list)):
                    type_map['card'][card_key].add(card_value)
                    continue
                for single_value in card_value:
                    if (not isinstance(single_value, dict)):
                        type_map['card'][card_key].add(single_value)
                        continue
                    for attribute in self.set_key_struct.get(card_key, []):
                        type_map[card_key][attribute].add(single_value[attribute])
    return dict(sort_internal_lists(type_map))