code: func (u *UUIDFieldIndex) parseString(s string, enforceLength bool) ([]byte, error) {
  	// Verify the length
  	l := len(s)
  	if enforceLength && l != 36 {
  		return nil, fmt.Errorf("UUID must be 36 characters")
  	} else if l > 36 {
  		return nil, fmt.Errorf("Invalid UUID length. UUID have 36 characters; got %d", l)
  	}
  
  	hyphens := strings.Count(s, "-")
  	if hyphens > 4 {
  		return nil, fmt.Errorf(`UUID should have maximum of 4 "-"; got %d`, hyphens)
  	}
  
  	// The sanitized length is the length of the original string without the "-".
  	sanitized := strings.Replace(s, "-", "", -1)
  	sanitizedLength := len(sanitized)
  	if sanitizedLength%2 != 0 {
  		return nil, fmt.Errorf("Input (without hyphens) must be even length")
  	}
  
  	dec, err := hex.DecodeString(sanitized)
  	if err != nil {
  		return nil, fmt.Errorf("Invalid UUID: %v", err)
  	}
  
  	return dec, nil
  }
docs: // parseString parses a UUID from the string. If enforceLength is false, it will
  // parse a partial UUID. An error is returned if the input, stripped of hyphens,
  // is not even length.