Contact Enhanced Contacts now have many more Contact Field options, which is using Joomla's com_fields component. 

How to access:

Go to Components → Contact Enhanced  →  Contacts, then you'll see two new menu items called:

Usage instructions:

First, we are going to make a field group and then some fields under it. After this, we will try to implement it in contacts. The procedure is very similar to Joomla Article Fields introduced in Joomla! 3.7.

Contact Field Groups:

Optionally you can create a Contact Field Group to group your contact fields. It is a good practice to add your fields to groups in order to keep your fields organized;

To create a field group, open the Field Groups option under the Components → Contact Enhanced  →  Contacts. In the upcoming window, click ‘New’ to make a new field group. 

Give your field group a title and some description, set the status to Published, then Save.

Contact Field Groups New

Contact Fields:

In the Fields page, click ‘New’ to add new fields. There are a few options you have to fill while adding the new field.

New Contact Field 

Title: Give your field a title.

Name & Label: You can add them or they will be automatically generated from the title.

Description: Add a short description of your field.

Required: Set the option to 'Yes' if the field information is must in the article.

Type: There are 15 different types of field. Use the required types relevant to the field (see list below).

Default Value: You can set a default value for your fields here. 

Filter: Control your content appearance by filtering the input.

Maximum Length: You can define a maximum length of the input.

Select the field group and categories here. You can set the category to all or just to some specific categories, or just a single one.

Native fields types:

In the back-end you'll find the following native field types, but other field types can be implemented upon request as a custom job:

Calendar Field

Provides a text box for entry of a date. An icon next to the text box provides a link to a pop-up calendar, which can also be used to enter the date value.

Checkboxes Field

Provides a single checkbox to be checked or unchecked.

Color Field

Provides a color picker when clicking the input box.

Editor Field

Provides a drop-down list of the available WYSIWYG editors.

Usergroup Field

Field to load a drop-down list of available user groups.

List Field

The list form field type provides a drop down list or a list box of custom-defined entries. If the field has a saved value this is selected when the page is first loaded. If not, the default value (if any) is selected.

List of Images Field

Provides a drop down list of image files.

Textarea Field

Provides a text area for entry of multi-line text.

Text Field

Provides a text box for data entry.

Media Field

Provides modal access to the media manager for insertion of images with upload for users with appropriate permissions.

Integer Field

Provides a drop-down list of integers between a minimum (first) and maximum (last) value.

Radio Field

Provides radio buttons to select different options.

SQL Field

Provides a drop down list of entries obtained by running a query on the Joomlaǃ Database. The first results column returned by the query provides the values for the drop-down box.

Url Field

Provides a URL text input field.

User Field

Provides a field to select a user from a modal list. This field displays the User Name and stores the User ID.

 Options tab

In this tab, you can add a placeholder, render class, edit class and customize few things, which will all work just like the Fields in other Joomla core extensions such as com_content. There's only one exception, the "Automatic Display" setting. You define the location of the Contact Fields in the Component Options under the Single Contact tab.