code: func (c *ConfigFile) MustValueRange(section, key, defaultVal string, candidates []string) string {
  	val, err := c.GetValue(section, key)
  	if err != nil || len(val) == 0 {
  		return defaultVal
  	}
  
  	for _, cand := range candidates {
  		if val == cand {
  			return val
  		}
  	}
  	return defaultVal
  }
docs: // MustValueRange always returns value without error,
  // it returns default value if error occurs or doesn't fit into range.