trying to do what you’re trying to do with states will be quite challenging
you’d be best to just take the WU cost and change the database record on each rating change
then you could do the conditional easily.
the issue with states is that they are not meant to be used for rows within repeating groups - and you’re trying to use them with rows within rows.
the second problem is that you need to hold 2 pieces of information - the rating and which category it is for. It is entirely possible to do it with a text field and JS to send, hold and read JSON