Best algorithm to create segment in case of categorical variables
Do not approach this by using whatever algorithm you can get to run.

There is no use in just doing something that you don't understand.

Instead, you will first need to identify what is a good way to group data that solves your problem. Then you can begin looking for an algorithm that helps solving your problem (and not some useless other problem).