Validate tags are all arrays

Previously, if you sent a tag that had a value that was not an array
(e.g. a string), then you’d get a hard to debug error caused by
JSON.parse failing.

This adds a simple validation of the params on the controller.