Can we try it like this?

```go
switch p[0] {
case '[':
  // unmarshal into []Tag
case '{':
  // unmarshal into map[string]string
  // convert to []Tag
}
```