All extensions are free now. Because it was coded by Russians.

You can implement it with three ways:

1) For implement field connection, it is require to create one parent
extrafield (we just call it as parent, k2 hasn't this feature) and
several child extrafields based on parent extrafield values.

Create parent extrafield with name "Countries" and values USA, Australia

All extrafields should be drop-down select box type.

Then you need to create children extrafields depends on "Counties"
extrafield values:

extrafield with name "USA cities" and values "City 1", "City 2"
extrafield with name "Australia cities" and values "City 3", "City 4"
It is depens on "Counties" extrafield values, because you use two
parts in extrafield name: first - value from "Counties" extrafield
(e.g "USA"), second - field connection marker (e.g. "cities").

Then in the module parameter "Select extrafield" select all this
extrafields (parent and all childrens) and in "Connected extrafield"
type "Counties=>cities"

After that it should work.

Backend screenshot

2) Also, you can make field connection in 'Single=>Single' mode.
In this case, you can use just one extrafield for all available
children values. All the values should contain parent field value text.

3) You can just enable 'Dynamic values in select boxes' parameter
without do any connection. But, it can be not accurate sometimes.

The first way requires to create a lot of extrafields (a single field
for each parent value), but the second way requires only 2 extrafields
for 2 levels, but all child values will be mixed in a single field.