Sets an enumerable property on `obj` as not `configurable` and not `writable`.
@function module:sjl.defineEnumProp
@param obj {Object}
@param key {String} - Prop name.
@param value {*}
@return {void}
function defineEnumProp(obj, key, value) {
        Object.defineProperty(obj, key, {
            value: value,
            enumerable: true
        });
    }