да, если важна производительность наверное надо бы битмапу использовать, но смущает что из кода будет не очень удобно, или я не прав? и сходу глядя в бд не очень понятно что за значение.
Семантически больше всего похоже на set. Самое близкое. что я знаю в постгресе, это hstore, в котором забили на значения. Если хочется регулярно искать записи с конкретными значениями ключами (оператор h ? key), можно построить по ним GIN-индекс.
hstore ближе в том ключе, что уникальность ключей в него заложена как в тип данных изначально. Массиву навязать уникальность значений будет не так просто. А с булями у hstore для этого случая всё просто — если ключ есть, true. Нету — false. (Если в сценарии различать false и null нет необходимости).