Map GreyNoise intentions to Cortex maliciousness levels.
        Accept a Cortex level and a GreyNoise intention, the return the more malicious of the two.

        :param current_level: A Cortex maliciousness level
            https://github.com/TheHive-Project/CortexDocs/blob/master/api/how-to-create-an-analyzer.md#output
        :param new_intention: An intention field value from a GreyNoise record
            https://github.com/GreyNoise-Intelligence/api.greynoise.io#v1queryip
        :return: The more malicious of the 2 submitted values as a Cortex maliciousness level

def _get_level(current_level, new_intention):
        """
        Map GreyNoise intentions to Cortex maliciousness levels.
        Accept a Cortex level and a GreyNoise intention, the return the more malicious of the two.

        :param current_level: A Cortex maliciousness level
            https://github.com/TheHive-Project/CortexDocs/blob/master/api/how-to-create-an-analyzer.md#output
        :param new_intention: An intention field value from a GreyNoise record
            https://github.com/GreyNoise-Intelligence/api.greynoise.io#v1queryip
        :return: The more malicious of the 2 submitted values as a Cortex maliciousness level
        """

        intention_level_map = OrderedDict([
            ('info', 'info'),
            ('benign', 'safe'),
            ('suspicious', 'suspicious'),
            ('malicious', 'malicious')
        ])
        levels = intention_level_map.values()

        new_level = intention_level_map.get(new_intention, 'info')
        new_index = levels.index(new_level)

        try:
            current_index = levels.index(current_level)
        except ValueError:  # There is no existing level
            current_index = -1

        return new_level if new_index > current_index else current_level