[Finishes #58694332] set polymorphic associations
[Finishes #58694378] Adds validation for term and purpose pairing. Adds specs for this