In reply to pushkar111:
Please use code tags making your code easier to read. I have added them for you.
Covergroup bin expressions need to be formed from constant expressions or using arguments passed in at construction of the covergroup.
covergroup cg(bit ip);
coverpoint txn_type {
bins T0 = {0};
bins T1 = {1};
bins T2 = {2} with (((item || (!item)) && ip) == 1);
}
endgroup