From what I understand, in the first column you have a key, and then you want all values for that key.
A data table is not the best choice for what you want to have.
I would use a Dictionary<String, List<.String>>. They dictionary key is the value from first column, “cat” or “dog”, and the dictionary value is a List with all values.