Но теперь у меня появилась необходимость сделать так, чтобы в разных местах API я мог указать в каком формате мне отдать текст поста (с html тегами или BB кодами).
Как бы текст хранится в одном каком-то формате.
Если хочется хранить в разных форматах, то должен хранится и соответствующий флаг.
А так задача выглядит как заметить html теги на bb-коды.
И тогда это вообще не должно быть в entity, т.к. это просто форматирование.
Просто отдельно на выводе, что-то вроде:
echo $bbFormatter->format($html); // $html - $entity->getText()