Still -  the problem I see is that it makes it harder to understand which option is chosen and why, and if this picks the wrong option, then it will be very difficult to correct this behavior.

The idea of using LCS already indicates that the appearance of the representation string is actually irrelevant for the test (this is not what's being tested) - but the goal is to pick the right option. Thus, if you introspect the option value and then either select by value or lookup the actual representation and force an exact match, you're always on the safe side - whatever the represent method delivers.

And here we know the option field, we know the identity of the referenced record (e.g. the "name") resp. of the raw option - so looking up the value for the option is totally easy - and represent-safe. And easy to understand, too.