InnoDB storage for multiple BIT(M) columns?
that has nothing to do with smart 4 columns are 4 columns. so it woud use 4 byte
Save your bit patterns as Integer.
Depending what you need you can use tinyint 1 Byte (8bits) till BIGINT 8 Byte (64 bits)
If you have or want to save space, you have no better solution.
if you want to store more bit you have to switch to BLOB and use that
For example

2 is 00000010
3 is 00000011

Any language can transform an integer too a byte array and back again