State pattern
Проще использовать, меньше ошибок сделаешь.". привычнешь за пять минут, и будет так же удобно, как и раньше.
Ну не 5 минут, но да, конечно, со временем привыкнешь. Проблема в том, что любой разработчик, который потом будет в этом коде ковырятся, тоже должен будет привыкать. Это - стоимость нестандартного решения. Если плюсы перевесят, можно делать и нестандартно, почему бы и нет.
приходилось видеть и строка==продукт, и строка==параметр. никакого привыкания, оба варианта подходят.
А вот не совсем. Оба варианта подходят для разного. Ожидается что столбцы или вообще не изменяются или меняются редко (потому как дорого процесс, всю таблицу менять), а строки постоянно добавляются/удаляются/меняются.
В общем из того что я услышал технических причин не делать во второму варианту я не вижу - будет работать. Только не надо слово "event" использовать, чтобы не смущать.
P.S. Это как в чертеже дома оси местами поменять и нарисовать дом лежащим на боку. Построить можно, но нужно привыкнуть.