Try the attached.
(defun c:enz (/ clr key pnt dim a b c)
;; Tharwat - 5.Jul.2019
;; (load "enz.lsp") enz
;; https://www.cadtutor.net/forum/topic/68126-require-lisp-3-in-1-for-xyz-coordinates-with-leader/?tab=comments#comment-552696
(setq clr (getvar 'clayer))
(cond ( (null (tblsearch "LAYER" "Coor Text")) (command "-layer" "_M" "Coor Text" "_C" 7 "" "")) (t (setvar 'clayer "Coor Text")))
(and
(or (initget "NoZ All Z")
(setq key
(cond
((getkword
"\nPick your go [No Elevation , All Coordinates , Z coordinates only] [NoZ/All/Z] < NoZ > :"
)
)
("NoZ")
)
)
)
(setq pnt (getpoint "\nSpecify base point : "))
(while pnt
(setq dim (getvar 'DIMZIN))
(setvar 'DIMZIN 0)
(mapcar 'set
'(a b c)
(mapcar '(lambda (k p) (strcat k (rtos p 2 4)))
'("E=" "N=" "Z=")
pnt
)
)
(setvar 'DIMZIN dim)
(command "_.LEADER"
"_none"
pnt
"\\"
""
(nth (vl-position key '("NoZ" "All" "Z"))
(list (strcat a "\\P" b) (strcat a "\\P" b "\\P" c) c)
)
""
)
(setq pnt (getpoint "\nSpecify base point : "))
) ; while
)
(setvar 'clayer clr)
(princ)
)