made sure updates didn't create new records - split out a gift category preference function