Designing a database where records can reference different foreign keys
When you are trying to relate a table row to rows in different tables, depending on the circumstances, it is nearly always a case of type/subtype aka class/subclass aka generalization/specialization.  The second of these terms is widely used in object modeling, while the third one is widely used in ER modeling.

In your case, the three subclasses would be PersonNames, PetNames, and Lists.  I'm not sure what to call the superclass.  I also wonder whether your fundamental entities are PersonNames or Persons, and ditto for Pets.

If you deside to model these items as a superclass/subclass case, then I'm going to recommend two design patterns or techniques to you.  They are class table inheritance, and shared primary key.  There are tags for these two techniques over in StackOverflow, and there is a tag for Subtypes here in the dba area.  The questions tagged, and the info under the tags may help you to understand these techniques as they apply to your case.