The keyword field datatype is what you are after here, which will index the string verbatim:
var response = client.CreateIndex("loandetails", l => l
.Mappings(ms => ms
.Map<LoanDetail>(m => m
.Properties(ps => ps
.Keyword(t => t
.Name(pn => pn.Purpose)
)
)
)
)
);
String datatypes were split into keyword and text in 5,0. In Elasticsearch 5.2.0+ a normalizer was introduced that allows you to perform some normalization to indexed tokens e.g. lowercasing.