Creates a type converter to select one item from a list of strings.
        The type converter function returns a tuple (index, choice_text).

        :param choices: List of strings as choice.
        :param transform: Optional, initial transform function for parsed text.
        :return: Type converter function object for this choices.

def make_choice2(cls, choices, transform=None, strict=None):
        """
        Creates a type converter to select one item from a list of strings.
        The type converter function returns a tuple (index, choice_text).

        :param choices: List of strings as choice.
        :param transform: Optional, initial transform function for parsed text.
        :return: Type converter function object for this choices.
        """
        choices = cls._normalize_choices(choices, transform)
        if strict is None:
            strict = cls.default_strict

        def convert_choice2(text):
            if transform:
                text = transform(text)
            if strict and not (text in convert_choice2.choices):
                values = ", ".join(convert_choice2.choices)
                raise ValueError("%s not in: %s" % (text, values))
            index = convert_choice2.choices.index(text)
            return index, text
        convert_choice2.pattern = r"|".join(choices)
        convert_choice2.choices = choices
        return convert_choice2