There are a variety of ways of encoding more than one bit per transistor by having each transistor control an "analog" signal. That could be accomplished in a ROM, albeit at considerable cost, if one used a process that could lay down 15 slightly-different kinds of transistors that would pass different amounts of current. To read a row of bits, apply a current source to each column, turn on the row, and then measure the resulting voltage on every column.
Flash can actually operate on a somewhat similar principle, but with a twist: rather than having to manufacture transistors differently, the flash effectively applies weird voltage conditions to them in such a way as to implant or remove electrons to/from areas that are generally non-conductive. A major advantage of that approach versus one based on manufacturing different kinds of transistors is that it's possible to hit a transistor with a little bit of charge, measure whether it has received enough yet, hit it with a little more, etc. until each area has received the perfect amount of charge. Doing that is much easier and cheaper than having to tweak manufacturing processes to produce 15 different kinds of transistors directly.
It should be noted that while efficiently manufacturing ROM using multi-level techniques is harder than using such techniques in flash, ROM does have an advantage in some applications: ionizing radiation that hits a ROM while it is being accessed might cause a bit to be misread, but it will not alter the physical arrangement of transistors on the chip. By contrast, if information is stored by the distribution of charges on a chip, ionizing radiation may permanently change the content of such stored information. Consequently, manufactured ROM may be advantageous in contexts that need operate in high-radiation environments.