This is a little clunky, but it might work.
Code:
/cancelform [noform:3]
/castsequence [form:3] Cat Form; Bear Form, Cat Form
It force-casts Cat Form at the end of the cycle to cancel the current form.
Classic requires canceling the current form before you can swap them. The problem with this is you can't check
[form] after
/cancelform since it's wiped immediately.
/castsequence should still remember its position anyway.
Alternatively, each form has its own main action bar, you could simply put the next form in the sequence in the same slot to cycle them without a macro.
PS: Cycling between these 3 states is generally a bad idea since in classic, shifting between forms costs a lot of mana and could run you out very quickly.