title: Legit way to handle hardcoded lists/options/dropdowns etc
body: <p>Multiple times during my work I am using different types of UI lists like menus or dropdowns.</p>
  
  <p>Example from my recent: project I had 2 buttons, each was showing a popover with 3 hardcoded options let say A,B and C. Each option had it's own translations and effect on applications. </p>
  
  <p>Many times I had a problem how to handle it cleverly. In Java we can enumarate through enums with string. </p>
  
  <p>How to handle it in one place in objective-c? By handle I mean:</p>
  
  <ul>
  <li>store list of options </li>
  <li>present them all in Popover</li>
  <li>translate them</li>
  <li>recognize (switch) between options</li>
  </ul>
  
  <p>There are many possibilities like:</p>
  
  <ul>
  <li>use only NSDictionary with keys - but then we have to write big
  if-else statements identifying options by key-values</li>
  <li>we can mix Enum and NSDictionaries/Array with keys and use switch statements BUT every change in list requires change on enum as well as array/dictionary. What's more the order of list and enum is essential.</li>
  </ul>
  
  <p>On stack we can also find multiple ways to "translate"/"convert" enum to NSString but these solutions seems to be a bit redundant.</p>
  
  <p>So my question is - what is the most legit way to handle option lists like these? Of course I'm not asking about full implementation of Popover ;) Just the data handle/store part.</p>