not sure but I think converting categorical data to binary values, and then doing cluster analysis as if they are numeric values could be a solution. in this case, no special software is needed.
Thank you Kayvan, for the cases such as ranking genotypes for resistance to diseases using numbers from 1 to 9 , and dividing them into two number, we lose many information and it induce significant bias in results.