If categorical variable has some hierarchy, should I just label them or split into dummy variables (One-Hot encode)?
One hot encoding should be performed between independent values like flowers type etc.
Values that you have mentioned are relative rank where bad is better than worst and so on.
So it should not be one hot encoding except converting it into numerical values.