code: func (o *PetListParams) bindStatus(rawData []string, hasKey bool, formats strfmt.Registry) error {
  	if !hasKey {
  		return errors.Required("status", "query")
  	}
  
  	// CollectionFormat: multi
  	statusIC := rawData
  
  	if len(statusIC) == 0 {
  		return errors.Required("status", "query")
  	}
  
  	var statusIR []string
  	for i, statusIV := range statusIC {
  		statusI := statusIV
  
  		if err := validate.Enum(fmt.Sprintf("%s.%v", "status", i), "query", statusI, []interface{}{"available", "pending", "sold"}); err != nil {
  			return err
  		}
  
  		statusIR = append(statusIR, statusI)
  	}
  
  	o.Status = statusIR
  
  	return nil
  }
docs: // bindStatus binds and validates array parameter Status from query.
  //
  // Arrays are parsed according to CollectionFormat: "multi" (defaults to "csv" when empty).