BUG: dictionary type astype categorical using dictionary as categories
Currently, we use a dictionary array as categories, which is weird, this just uses the underlying dictionary and extracts the codes, which should be fine for us. The dictionary array causes all kinds of trouble when sorting and doing similar things


We use arrow to cast on construction which does this properly, so we should be good,