func (p *PrimitiveMode) UnmarshalJSON(data []byte) error {
    var tmp uint8
    err := json.Unmarshal(data, &tmp)
    if err == nil {
        *p = map[uint8]PrimitiveMode{