REL-2059: Fix faulty comparison of enum options in Obs objects.

This is a fix I need to get some other (unrelated) tests working I was originally working on.. Side effects on QPT should be minimal because options are mainly used for informational purposes (displayed as properties for the selected observation). This is probably also the reason why nobody noticed this.
It's the case where both w1 and w2 are not null and their int values are equal. When we get here we know that o1 and o2 are of the same enum type and compareTo will work (otherwise it would throw a class cast exception). Yes, it's important that two different classes return a different weight, which is the case. There's probably a simpler/better way to define this, but I didn't want to change too much.