Separate table with one variance
Will you ever need to show a user's likes of different types all at once? If so, I would keep it in one table. If you run into scale issues, you can always start partitioning by the like type column and basically have separate tables on the back end.