def _index_filter(index_data, filter_value, filter_operator, field_converter=None):
        """Post Filter

        Args:
            index_data (dictionary): The indexed data for the provided field.
            field (string): The field to filter on.
            filter_value (string | list): The value to match.
            filter_operator (string): The operator for comparison.
            field_converter (method): A method used to convert the field before comparison.

        Returns:
            (list): Matching data objects
        """

        filtered_data = []
        if filter_operator == operator.eq:
            if field_converter is not None:
                filter_value = field_converter(filter_value)
            # for data_obj in index_data:
            #     yield data_obj.data
            filtered_data = index_data.get(filter_value)

        else:
            for field, data_obj_list in index_data.items():
                if field_converter is not None:
                    field = field_converter(field)

                if filter_operator(field, filter_value):  # bcs enum
                    filtered_data.extend(data_obj_list)
                    # for data_obj in data_obj_list:
                    #     yield data_obj.data

        return filtered_data
Post Filter

        Args:
            index_data (dictionary): The indexed data for the provided field.
            field (string): The field to filter on.
            filter_value (string | list): The value to match.
            filter_operator (string): The operator for comparison.
            field_converter (method): A method used to convert the field before comparison.

        Returns:
            (list): Matching data objects