Плохо, когда пишут if (size), к примеру, используя неявное приведение int к bool. Это прям очень плохо, я считаю.
Допустимо, когда пишут if (obj_ptr), используя неявное приведение указателя к bool. Я так не пишу, но беды в этом не вижу.
Писать if (isStarted) либо же if (isStarted == true) — вообще разницы не вижу. Я бы написал первый вариант, но второй так же прекрасно читается. Допускаю, что кому-то он читается лучше.
Вот и весь сказ. Если есть твёрдый кодовый стиль, придерживайтесь его. Если нет — пишите как хотите с учётом изложенного выше.
Городить enum-ы на ровном месте? Не знаю. Я обычно этого не делаю. Но если очень хочется — да ради бога...