code: def parse_names(cls, names: List[str]) -> T:
          
          value = 0
          iterable = cls  # type: Iterable
          for name in names:
              name = name.lower()
              flag = next((item for item in iterable if name == item.name.lower()), None)
              if not flag:
                  raise ValueError("{} is not a member of {}".format(
                      name, cls.__name__))
              value = value | int(flag)
          return cls(value)
docs: Parse specified names for IntEnum; return default if not found.