tag groups, taggable mixin, unit tests