code: def __obj2choices(self, values):
          
          choices = values
          # choices from string
          if type(values) == type(''):
              obj = None
              # try json string
              try:
                  obj = json.loads(values)
              except ValueError:
                  obj = values
              if type(obj) == type([]):
                  choices = obj
              else:
                  choices = obj.split()
          return choices
docs: - json list of key, value pairs:
              Example: [["A", "Option 1 Label"], ["B", "Option 2 Label"]]
          - space separated string with a list of options:
              Example: "Option1 Opt2 Opt3"
              will be converted to a key, value pair of the following form:
              (("Option1", "Option1), ("Opt2", "Opt2"), ("Opt3", "Opt3"))
          - an iterable of key, value pairs