You can define a constraint without enforcing it ...
ie , in the above example if you have used 'NOT ENFORCED' instead of ENFORCED, then you will be able to insert a record with a value of D in COL1.
NOT ENFORCED is used when you are sure that the data is correct but want to let the optimizer know about the constraint ... As an example, in a star schema, you can define a refrential contraint between fact and dimension without enforcing it ... This way, the optimizer will know the relationship between the two tables, but the database engine will not enfore the referential constraint
HTH
Sathyaram