implement basic tagging feature, users can add tags & filter by them

there are currently only 4 available hardcoded tags. in the future,
tag creation will be implemented.