Awk to print on condition in input file

I need only those records which has $2 equal to "DEF" independent of case (i.e upper or lower)

nawk -F"," '$2 ~ /[Dd][Ee][Ff]/{print $0}' file

This returns 3rd record also which i dont want

I tried this but this doesnt work as expected.

nawk -F"," '$2 == "[Dd][Ee][Ff]"{print $0}' file  

i dont need the following record.
abc,kDEF
Help is appreciated.

nawk -F"," ' tolower($2) == "def" ' file

the easiest thing should be grep, if it's an option for you

 grep -i ,def file

or

 grep -i ",def$" file1

just to make sure

awk -F, '$2 ~ /^[dD][eE][fF]$/'