Resampling : My dataset is categorical or numerical?
For purely categorical data like yours Chewla et al. proposed SMOTE-N in the original paper. SMOTE-N is implemented in imbalanced learn and the user guide describes the differences compared to vanilla SMOTE and SMOTE-NC as follows:

If data are made of only categorical data, one can use the SMOTEN variant [CBHK02]. The algorithm changes in two ways:

the nearest neighbors search does not rely on the Euclidean distance. Indeed, the value difference metric (VDM) also implemented in the class ValueDifferenceMetric is used.
a new sample is generated where each feature value corresponds to the most common category seen in the neighbors samples belonging to the same class.


Also note that your dataset is not extremely imbalanced so depending on the differences in misclassification cost of your classes you may or may not benefit from sampling techniques.
As a side note: ROC Curves can have some caveats when used on imbalanced datasets see, for example, &quot;The Relationship Between Precision-Recall and ROC Curves&quot; and &quot;The Precision-Recall Plot Is More Informative than the ROC Plot When Evaluating Binary Classifiers on Imbalanced Datasets&quot;.