title: How to implement a limited set of 'tags' in doctrine?
body: <p>Something about my data:
  i'm currently developing a small webpage with php/symfony2/doctrine/postgres. Basically, i'm just gathering and displaying data from a couple of sites. The data is split into four groups: 'kids', 'teenagers', 'adults', 'seniors'. These tags won't change for a long time. I want to display a filter where you can decide which of the data you want to see. Since 80% of the users will be adults this should be the default. Also for teenagers it would be interesting to view data for teenagers and adults simultaneously (=> multi select).</p>
  
  <p><strong>Question:</strong>
  What would be the best way to persist these 4 tags ('k', 't', 'a', 's') in my DataObject
  each DataObject must have minimum one tag.</p>
  
  <p>possible solutions i came up with:</p>
  
  <p>1) Implement Tag as String (or pseudo enum) and store them in an ArrayCollection in the DataObject</p>
  
  <p>=> seems like overkill</p>
  
  <p>2) store the tags in an array (ColumnType=array)</p>
  
  <p>=> hard to query with doctrine</p>
  
  <p>3) store each tag as boolean column in the DataObject</p>
  
  <p>=> doesn't feel right</p>
  
  <p>I'm not really happy with any of these solutions. Any suggestions what i should do?</p>
  
  <p>edit:
  i tested a lot and thought about my problem and figured out that my biggest problem is the 'multi select'. So i dropped it and implemented the tags as String/Enum.</p>