http://dev.mysql.com/doc/refman/5.0/en/enum.html
If you insert an invalid value into an ENUM (that is, a string not present in the list of permitted values), the empty string is inserted instead as a special error value. This string can be distinguished from a “normal” empty string by the fact that this string has the numeric value 0. More about this later.
you can use this trigger function
delimiter //
CREATE TRIGGER upd_check BEFORE UPDATE ON `w_bank_account`
FOR EACH ROW
BEGIN
IF (NEW.`account_type` != '2' AND NEW.`account_type` != '1')
SET NEW.`account_type` = '1';
END IF;
END;//
delimiter ;