MySQL - Restrições Condicionais de Chave Estrangeira

Tenho a seguinte tabela de 'comentários' no meu aplicativo:

comments
--------
id           INT
foreign_id   INT
model        TEXT
comment_text TEXT
...

A ideia desta tabela é armazenar comentários para várias partes do meu aplicativo - ele pode armazenar comentários para postagens de blog, por exemplo:

1|34|blogpost|lorem ipsum...

imagem do usuário:

2|12|picture|lorem ipsum...

e assim por diante.

agora, existe uma maneira de forçar a restrição FOREIGN KEY em tais dados?

ou seja, algo assim na tabela de comentários:

FOREIGN KEY (`foreign_id`) REFERENCES blogposts (`id`)
//but only when model='blogpost'

questionAnswers(1)

yourAnswerToTheQuestion