Accept dictionaries for mapping categories in Categorical Data
I am importing data that comes from other tools (SPSS, Excel) that handles categories, and these categories are represented by dictionary-like structures. Say, a column `Rate` would accept the following categories:

    valuelabels = {
        1 :  'High',
        2 :  'Medium',
        3 : 'Low',
        99999 : 'No idea',
    }

I would like to create a pandas `category` column that matches not only the `labels` (i.e. `'High'`, `'Good'`, ...), but also the `ids`, so that I could easily export back to the source format without reassigning ids (to be sure, I can do this by keeping external structures and such, but I think that this could be an improvement to pandas).

 A current possibility would be doing the following:

    values_of_column = [1,99999,3,1] # would correspond to 'High', 'No Idea', 'Low', 'High'
    labels = ['dummy0']  + ['Hight','Medium','Low'] + [ f'dummy{i}' for i in range(4,99999)] + ['No idea']
    s = pd.Series(pd.Categorical.from_codes( values_of_column , categories= labels ))

The above  is simply ugly, and unfortunately not enough, as I have already seen value labels with negative numbers:

    value_labels = {
        -999: 'n/a',
        -99: 'No answer',
        1 :  'High',
        2 :  'Medium',
        3 : 'Low',
        99999 : 'No idea',
    }

I can image other cases (tools different from SPSS) in which there is strings in both sides of the dictionary, say something like

    value_labels = {
        'a' : 'answer a',
        'b' : 'answer b',
        'no_answer': 'Doesn't know/Doesn't answer'
    } 

Ideally, using the last example, I would like to have the possibility of using the dictionaries directly:

   s = pd.Series(pd.Categorical.from_codes( ['a','b','no_answer','b'], categories=value_labels))

Given the 1:1 nature of this relation, *this could also be refined in order to have some dual representation of values, specially when one is dealing with similar data from different sources*. For example, one database use the 2 letter ISO country representation (e.g. 'US') and another 3 letter ISO country representation (e.g. 'USA').

