title: In polars, can I create a categorical type with levels myself?
body: <p>In Pandas, I can specify the levels of a Categorical type myself:</p>
  <pre class="lang-py prettyprint-override"><code>MyCat = pd.CategoricalDtype(categories=['A','B','C'], ordered=True)
  my_data = pd.Series(['A','A','B'], dtype=MyCat)
  </code></pre>
  <p>This means that</p>
  <ol>
  <li>I can make sure that different columns and sets use the same dtype</li>
  <li>I can specify an ordering for the levels.</li>
  </ol>
  <p>Is there a way to do this with Polars? I know you can use the string cache feature to achieve 1) in a different way, however I'm interested if my dtype/levels can be specified directly. I'm not aware of any way to achieve 2), however I think the categorical dtypes in Arrow do allow an optional ordering, so maybe it's possible?</p>