The easiest way to do this would be to create a lookup data table that has the master set of animals matched with the category; Then all that has to be done is to Update the data table with the lookup table, specifying to keep all rows in the original table, but only the matching rows from the lookup table.
Names Default To Here( 1 );
dt = Data Table( "Data" );
dtud = Data Table( "Lookup" );
Data Table( "Data" ) << Update(
With( Data Table( "Lookup" ) ),
Match Columns( :ANIMAL = :ANIMAL )
Jim