Converting a pandas Interval into a string (and back again)

Use the labelsargument in qcut and use pandas Categorical.

Either of those can help you create categories instead of interval for your variable. Then, you can use a form of encoding, for example Label Encoding or Ordinal Encoding to convert the categories (the factors if you're used to R) to numerical values which the Forest will be able to use.

Then the process goes :

cutting => categoricals => encoding

and you don't need to do it by hand anymore.

Lastly, some gradient boosted trees libraries have support for categorical variables though it's not a silver bullet and will depend on your goal. See catboost and lightgbm.