Não entendi com funciona o .valor, .tipo , status.index, varStatus
<c:forEach items="${tipos}" var="tipoPreco" varStatus="status">
            <div>
                <label>"${tipoPreco}"</label>
                <input type="text" name="precos[${status.index}].valor">
                <input type="hidden" name="precos[${status.index}].tipo" value="${tipoPreco}">
            </div> 
        </c:forEach>