I simply followed this chapter in the documentation in order to get the feature the OP asked for:
http://manual.calibre-ebook.com/sub_...roups-tutorial
Why use a new field, and not simply the built-in tags field? Personally, to me it seems like the built-in fields are intended to be populated by "metadata providers". We can arbitrarily edit and overwrite them (and prevent new values from being downloaded on a per-field basis), but I still feel as if one day I might want to try out something new and would thereby accidentally overwrite the built-ins, possibly noticing the damage only much later.
(That was also my motivation in
this thread. For "bookshelves" however, the solution as described in the docs seems straightforward -- it works excellently for me.

)