code: def make_choice2(cls, choices, transform=None, strict=None):
          
          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
docs: 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.