For example let's say I have these values: "BMW", "MERCEDES" and "FIAT". A normal transformation would be to give them numbers 1, 2 and 3:
If I want to measure the distance between these values it would be 1 between "BMW" and "MERCEDES" and also 1 between "BMW" and "FIAT" while this result is not the one needed because (for example) distance between "MERCEDES" and "BMW" should be way smaller than the one between "BMW" and "FIAT" because they're belonging to the same pricing category while fiat is cheaper.
Classifying them and giving them weights would be easy if it was a small range of exemplars but what to do when you have thousands of car brands (for example) knowing that there is no specific attribute or field associated with each brand to give a hint about price (or class or anything for that matter) for weighing automation.
You can use e.g. MDS to project the data to a low-dimensional vector space approximation that yields the desired point distances.
The real problem is how to get a meaningful distance matrix in the first place.