This is just a knowledge sharing article. I had faced this issue in production and took me a day to resolve it.
The workaround that I'm sharing will help you in getting your table back online in "Enabled" without deleting Zookeeper Hbase table znode or any data as a matter of fact..
Here are steps to resolve it.
1. Run a "get" command against hbase:meta for the affected table
hbase(main):003:0> get 'hbase:meta', '<AFFECTED_TABLE_NAME>', 'table:state' COLUMN CELL table:state timestamp=1551456805377, value=\x08\x02
2. Notice the above "value". Its pointing to \x08\x02 which is wrong. The value should either be \x08\x00 (Enabled) or \x08\x01 (Disabled)
3. Edit the value manually.
hbase(main):003:0> put 'hbase:meta','<AFFECTED_TABLE_NAME>','table:state',"\b\0"
Click here for more information on "Control Characters"
4. Verify the same.
hbase(main):003:0> get 'hbase:meta', '<AFFECTED_TABLE_NAME>', 'table:state'
The "value" now should be \x08\x00
Post this, again run disable <table_name> and enable <table_name> just for the love of sanity check in hbase shell and you are done with the issue.