title: Is using enum types for user interface functions a good idea?
body: <p>Let's say I'm building a simple class that prints some text on the screen, and it has the possibility to change the colors of the text.</p>
  
  <pre><code>myclass a("this is the text");
  a.setColor("green");
  </code></pre>
  
  <p>I'm still learning C++ and I recently got introduced to <code>enum</code> and thought I'd give it a try. I was wondering if it is a good practice to use <code>enum</code> types in interface functions like the above <code>setColor</code>?</p>
  
  <p>What are the advantages or disadvantages of using <code>enum</code> classes in interface functions? Are there cases where they are more applicable than and are there case where they are bad to use?</p>
  
  <p>What if I want to combine properties? E.g.</p>
  
  <pre><code>a.setAttribute("bold reverse");
  </code></pre>
  
  <p><em>I don't know if</em> interface <em>is the correct term for what I want to describe: the functions that a user of my class would end up using.</em></p>