pkg/flags/selective_string.go
func (ss *SelectiveStringsValue) Set(s string) error {
	vs := strings.Split(s, ",")
	for i := range vs {
		if _, ok := ss.valids[vs[i]]; ok {
			ss.vs = append(ss.vs, vs[i])
		} else {
			return fmt.Errorf("invalid value %q", vs[i])
		}
	}
	sort.Strings(ss.vs)
	return nil
}
func (ss *SelectiveStringsValue) Set(s string) error {
	vs := strings.Split(s, ",")
	for i := range vs {
		if _, ok := ss.valids[vs[i]]; ok {
			ss.vs = append(ss.vs, vs[i])
		} else {
			return fmt.Errorf("invalid value %q", vs[i])
		}
	}
	sort.Strings(ss.vs)
	return nil
}
// Set verifies the argument to be a valid member of the allowed values
// before setting the underlying flag value.