Ok, so I sort of figured this one out myself after some discussion with colleagues. In my controller, I ended up checking if a tagged was clicked, and if it was I either created a new cookie (first time click) or overwrote the old one with new information.
And, if the tag was empty, but a cookie was set for that user, I checked for the named cookie and repopulated my tag selection. Works like a charm.
I'm not sure this is the 'correct' way of doing it, so I'd love some feedback if anyone is interested in commenting later on :)